It is hard to imagine, for many people, the world without the Internet. With the Internet, data no longer resides only on one's own personal computer. Much of our data, for example, address books, e-mail, documents, and other enormous amounts of information, are stored in various locations, on various servers, located around the world. Being able to access these remote locations from anywhere in the world, via the Internet, allows us to access a coherent view of our data at almost any time that we desire. All we need is a computer with access to the Internet, be it wired or wireless.
The Internet, publicly accessible and available throughout the world, interconnects computer networks and, therefore, the computers on those networks. There are millions of networks, or sub-networks, that make up the Internet. The sub-networks are used by governments, educational institutions, businesses, etc. It is most likely that the Internet is taken for granted in many instances, similar to that of other utilities such as water, electricity and gas.
Referring to FIG. 1, a simplified representation of the Internet includes the Inter-network, i.e., the Internet itself, connected to a first sub-network 102 and a second sub-network 104. The first sub-network 102 may have a first device 106 connected to it. The first device 106 could be a computer, a server, etc. Similarly, the second sub-network 104 has devices 108, 110, 112 connected to it.
To communicate between two devices on the Internet, data is transmitted by packet switching using the standard Internet Protocol (IP.) In order to communicate with each other, each device is given an IP address consisting of a series of numbers, e.g., 129.10.24.150. Each IP address is unique, much like a telephone number. Thus, for example, packets may be sent from a device 114 through the Internet, through the second sub-network 104 and to the device 112.
The Domain Name System (DNS) is used to correspond the numerical IP address with a more accessible, i.e., more easily understood, symbolic representation. This most often is used when surfing the world wide web and rather than having to remember the IP address for a website, a user merely types in an easily understandable string of characters, such as, www.neu.edu. A domain name server 116 is connected to the Internet and provides for the cross-reference of the human-readable address, i.e., the symbolic name, with the numerical IP address.
The operation of the Internet and the DNS system is well known to those of ordinary skill in the art and the foregoing is provided as a very broad, and relatively simple, overview.
Server migration, i.e., moving a server or computer from one location to another, across wide area networks is faced by many enterprises in various contexts. As above, many applications and associated data are hosted on servers on remote data centers around the world and accessed via the Internet. Many of these applications and servers must be up 24 hours a day, seven days a week. Of course, this type of availability is only a goal and there are real-world maintenance requirements and other unforeseen events that can cause a disruption in service.
For example, referring now to FIG. 2, it may become necessary to move device 112 from the second sub-network 104 to a location on the first sub-network 102, as identified by the dotted representation of the device 112. Moving the device 112 from the second sub-network 104 to the first sub-network 102, however, requires that the device 112 be given a different IP address. This is due to the fact that the first and second sub-networks 102, 104 provide the devices connected to them, respectively, with different prefixes with respect to the device's IP address. Thus, the IP address that device 112 had on the second sub-network 104 would not work on the first sub-network 102.
Accordingly, when the device 112 is moved, any entries for that device in the DNS server 116 would need to be changed. As is known, there are mechanisms for providing new IP addresses to an entry in the DNS registry so that the underlying changes are invisible to anyone who types in the symbolic address for a desired location.
Moving a machine from one sub-network to another, especially across a large geographic distance, however, may cause a certain amount of unavailability of the system.
Accordingly, what is needed is a mechanism to eliminate the unavailability of a system that needs to be moved from one sub-network to another, or across a large geographic distance.